Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade from Chromium 94 to Chromium 95 #9934

Merged
merged 71 commits into from
Oct 6, 2021
Merged

Upgrade from Chromium 94 to Chromium 95 #9934

merged 71 commits into from
Oct 6, 2021

Conversation

mkarolin
Copy link
Collaborator

@mkarolin mkarolin commented Aug 31, 2021

Fixes brave/brave-browser#17792
Related PR: brave/brave-browser#17793

Also fixes the following issues found during QA testing:
Fixes brave/brave-browser#18547

Submitter Checklist:

  • I confirm that no security/privacy review is needed, or that I have requested one
  • There is a ticket for my issue
  • Used Github auto-closing keywords in the PR description above
  • Wrote a good PR/commit description
  • Added appropriate labels (QA/Yes or QA/No; release-notes/include or release-notes/exclude; OS/...) to the associated issue
  • Checked the PR locally: npm run test -- brave_browser_tests, npm run test -- brave_unit_tests, npm run lint, npm run gn_check, npm run tslint
  • Ran git rebase master (if needed)

Reviewer Checklist:

  • A security review is not needed, or a link to one is included in the PR description
  • New files have MPL-2.0 license header
  • Adequate test coverage exists to prevent regressions
  • Major classes, functions and non-trivial code blocks are well-commented
  • Changes in component dependencies are properly reflected in gn
  • Code follows the style guide
  • Test plan is specified in PR before merging

After-merge Checklist:

Test Plan:

@mkarolin mkarolin added the CI/run-network-audit Run network-audit label Aug 31, 2021
@mariospr mariospr force-pushed the cr95 branch 5 times, most recently from 49f1ace to 122922d Compare September 6, 2021 10:34
@mkarolin mkarolin marked this pull request as ready for review September 7, 2021 21:42
@mariospr mariospr force-pushed the cr95 branch 5 times, most recently from 4e12a28 to 484d861 Compare September 13, 2021 11:51
mkarolin and others added 15 commits October 5, 2021 16:21
Added:
 * kAppDiscoveryRemoteUrlSearch

Removed:
 * kLangClientHintHeader - we disable all hint headers, so there is no
   need to disable this one individually. Also adjusted hint headers
   browser test to test for viewport-height hint.

Reordered disabled tests alphabetically regardless of platforms.
This setting is now enabled by default. When enabled Settings WebUI
shows only a single page (selected in the menu) at a time. Disabling
this feature for now as I am not sure we want this behavior.

Chromium change:

https://source.chromium.org/chromium/chromium/src/+/3c58a8791e7fd574e811e9d2ff40e885552bdc7e

commit 3c58a8791e7fd574e811e9d2ff40e885552bdc7e
Author: dpapad <dpapad@chromium.org>
Date:   Thu Sep 9 08:20:42 2021 +0000

    Settings: Turn on SettingsLandingPageRedesign by default.

    Bug: 1215626
Per security team (pes) we should not be using predictions.

Chromium change:

https://source.chromium.org/chromium/chromium/src/+/c29186b6e95d0b0bdf83903d7d75fbf0a85d8a92

commit c29186b6e95d0b0bdf83903d7d75fbf0a85d8a92
Author: Andy Paicu <andypaicu@chromium.org>
Date:   Tue Aug 3 10:11:46 2021 +0000

    Enable CPSS by default in order to be able to launch to 100% Stable

    Bug: 1138595
Per security team.

Chromium change:

https://source.chromium.org/chromium/chromium/src/+/8e6eb1ccc0dc01d7caf285004414a95d248a4095

commit 8e6eb1ccc0dc01d7caf285004414a95d248a4095
Author: Victor Costan <pwnall@chromium.org>
Date:   Tue May 18 20:31:04 2021 +0000

    Compute Pressure API: Kill switch for the origin trial.

    Bug: 1210537
Chromium change:

https://chromium.googlesource.com/chromium/src/+/88346ae1

commit 88346ae1b42e8383a1a48b2d7a5bd606befc8952
Author: Louise Brett <loubrett@google.com>
Date:   Thu Sep 9 04:47:32 2021 +0000

    Put all of ValueStore in value_store namespace.

    This is in preparation for https://crrev.com/c/3134756 which moves
    extensions/browser/value_store to components/value_store.

    This change is mostly involves adding 'value_store::' in lots of places.
    In files where 'ValueStore::*' is used a lot I've added
    'using value_store::ValueStore;' to avoid writing
    value_store::ValueStore lots of times.

    Bug: 1226956
The errors below happen because one of our overrides ends up
including windows.h (winuser.h) which `#define LoadAccelerators
LoadAcceleratorsW(...)`. This causes the class method in the original .h
file to be renamed. The original .cc file, on the other hand explicitly
`#undef LoadAccelerators` after including <windows.h> and so we end up
with mismatching method name in the .h and .cc files.

Traced it down to:
chrome/browser/ui/views/frame/browser_view.h
-> #include "chrome/browser/ui/views/intent_picker_bubble_view.h"
   -> #include "chrome/browser/ui/views/location_bar/location_bar_bubble_delegate_view.h"
      -> #include "ui/views/bubble/bubble_dialog_delegate_view.h"
         -> #include "ui/views/bubble/bubble_border.h"
	    -> chromium_src override
               -> #include <Windows.h>

Inlcusion on Windows.h in that header doesn't appear to be needed.

Also, modified other haders that included Windows.h by instead,
including `base/win/windows_types.h` which has basic Windows
types defined. Moved including Windows.h to the corresponding .cc
files.

The errors:
---------------------
In file included from ..\..\brave\chromium_src\chrome\browser\ui\views\frame\browser_view.cc:14:
..\..\brave\chromium_src\chrome\browser\ui\views\frame/../../../../../../../chrome/browser/ui/views/frame/browser_view.cc(3079,3): error: use of undeclared identifier 'LoadAccelerators'; did you mean 'LoadAcceleratorsW'?
  LoadAccelerators();
  ^~~~~~~~~~~~~~~~
  LoadAcceleratorsW
..\..\brave\chromium_src\chrome\browser\ui\views\frame/../../../../../../../chrome/browser/ui/views/frame/browser_view.h(772,8): note: 'LoadAcceleratorsW' declared here
  void LoadAccelerators();
       ^
../../../../../Program Files (x86)/Windows Kits/10/include/10.0.19041.0/um\winuser.h(7131,27): note: expanded from macro 'LoadAccelerators'
                          ^
In file included from ..\..\brave\chromium_src\chrome\browser\ui\views\frame\browser_view.cc:14:
..\..\brave\chromium_src\chrome\browser\ui\views\frame/../../../../../../../chrome/browser/ui/views/frame/browser_view.cc(3541,19): error: out-of-line definition of 'LoadAccelerators' does not match any declaration in 'BrowserView'; did you mean 'LoadAcceleratorsW'?
void BrowserView::LoadAccelerators() {
                  ^~~~~~~~~~~~~~~~
                  LoadAcceleratorsW
..\..\brave\chromium_src\chrome\browser\ui\views\frame/../../../../../../../chrome/browser/ui/views/frame/browser_view.h(772,8): note: 'LoadAcceleratorsW' declared here
  void LoadAccelerators();
       ^
../../../../../Program Files (x86)/Windows Kits/10/include/10.0.19041.0/um\winuser.h(7131,27): note: expanded from macro 'LoadAccelerators'
                          ^
2 errors generated.
---------------------

Chromium change:

https://chromium.googlesource.com/chromium/src/+/f6278aeb0156fcf581d90c0a7ee537fb80d8bf6b

commit f6278aeb0156fcf581d90c0a7ee537fb80d8bf6b
Author: Bruce Dawson <brucedawson@chromium.org>
Date:   Tue Aug 24 21:25:34 2021 +0000

    Avoiding windows.h using CHROME_MSG, etc.

    In order to avoid having platform_events.h including windows.h just to
    get the definition of the MSG struct (thus polluting ~1,000 translation
    units with the windows.h macros) this change defines the CHROME_MSG
    struct (following the pattern of CHROME_SRWLOCK and others) and uses it.
    In the few (two) places where the MSG type is required in order to call
    in to Windows a reinterpret_cast function does the conversion.

    This change also removes some includes of windows.h and objidl.h from
    headers, and adds includes of windows.h to .cc files that need it. The
    net result is a significant drop in how many translation units get
    namespace polluted by windows.h.

    This change touches many files, but most of the changes are just
    replacing MSG with CHROME_MSG.

    This change has been tested to ensure that it builds with
    is_chrome_branded=true and enable_nacl=true to reduce the risk of
    compile breakage on other bots.

    Bug: 796644
Chromium change:
https://chromium.googlesource.com/chromium/src/+/73c2d3d5ee5865411e0f09909f1456c5e7bbc4e3

Bottom tab strip bg to Surface-3 in night mode.

The previous implementation assumed that the background color of the tab
strip should match the omnibox. This is no longer the case, as the
tab strip should now match infobars/dialogs, and be surface-0 (day) and
surface-3 (night).

So replace the theme provider with an is incognito provider, to let the
view make the appropriate decision.

Bug: 1243098
Chromium change:
https://chromium.googlesource.com/chromium/src/+/ba90f4831d67e0d2fc8cc00a3683ff453e4f9df0

[GMNext][Color] Add v23 resource for default_icon_color_*_tint_list

On Android L, ColorStateList that points to color attributes are created
with a wrong default color. For API level 23+ it works. This CL creates
v23 resources and make the default resource pointed to colors as a
workaround fix.

Preview: https://screenshot.googleplex.com/3HV6ckUENLYkvKG

Bug: 1242283
@mkarolin mkarolin merged commit 90ba094 into master Oct 6, 2021
@mkarolin mkarolin deleted the cr95 branch October 6, 2021 01:19
@mkarolin mkarolin added this to the 1.32.x - Nightly milestone Oct 6, 2021
mkarolin added a commit that referenced this pull request Oct 6, 2021
Upgrade from Chromium 94 to Chromium 95
mkarolin added a commit that referenced this pull request Oct 8, 2021
Upgrade from Chromium 94 to Chromium 95
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI/run-network-audit Run network-audit
Projects
None yet
Development

Successfully merging this pull request may close these issues.

crash when loading brave://settings/braveSync/setup Upgrade from Chromium 94 to Chromium 95
10 participants